Logseq の日本語化における問題点
square brackets [] の日本語キーボードにおける補完
実装にキーコードを使っていないためか、keyhac などのキーバインドを変更する常駐アプリを介していると、「 と日本語モードで入力したとき [[]] と補完入力されたり、英語モードで [ が [[]]] (ひとつ ] が多い)と補完されたり弊害が多い。
他のツール(Roam Researchなど)だと問題ないので、修正できないでしょうか?
/ から始まるスラッシュコマンドは翻訳しない。
英語で呼べるからメリットがあるのであって、日本語だと機能しない。
下記の直書きは修正の見通しあり
tutorial/dummy-notes と tutorial/text は src/main/frontend/handler/repo.cljs 内に :en 指定で直書きのため、言語ファイル側を書き換えても反映されない。(2022/3/2)
おそらく循環参照になるので、翻訳用関数 t がインポートできないため、決め打ちされてる。
src/main/frontend/handler/repo.cljs に 翻訳用関数 t をインポートすると、循環参照でエラーになる。
t はで 内で定義されている。。
:require に [frontend.context.i18n :refer t] を追加すると循環参照に。 Circular dependency detected: frontend.handler.repo -> frontend.modules.shortcut.dict -> frontend.modules.shortcut.data-helper -> frontend.modules.shortcut.config -> frontend.components.commit -> frontend.handler.repo
Workaround
shortcut-dict/dict が循環参照の元だがここではショートカット用辞書は使用しないため、これを省いた翻訳用関数を repo.cljs 内で再定義した。
reference/linked と refecenre/unlinked-ref が実際には使用されず、src/main/frontend/components/reference.cljs において英語で直書きされている。
おそらく複数形の s に対応するところの i18n 処理が面倒だったのだと思われる。
ここを直すとなると日本語以外の辞書も変える必要があるため、わたしもここはひとまずこのままにしておきます。